#include <bits/stdc++.h>
const long double PI = acos(-1);
const int N = 1e6+10;
typedef std::pair<long double,int> DI;
DI p[N];
void solve()
{
int n;
std::cin >> n;
for(int i=1;i<=n;i++)
{
int x,y;
std::cin >> x >> y;
p[i] = {atan2(1.0*y,1.0*x),i};
}
std::sort(p+1,p+n+1);
p[n+1] = p[1], p[n+1].first += 2*PI;
long double minv = 1e5;
int a,b;
for(int i=1;i<=n;i++)
{
long double t = p[i+1].first - p[i].first;
//std::cout << t << " " << p[i].second+1 << " " << p[i+1].second+1<< "\n";
//if(t<0) t += 2*PI;
if(minv>t)
{
minv = t;
a = p[i].second, b = p[i+1].second;
}
}
std::cout << a << ' ' << b << "\n";
}
signed main()
{
std::ios::sync_with_stdio(false);
std::cin.tie(0);
std::cout.tie(0);
int t = 1;
//std::cin >> t;
while(t --)
solve();
return 0;
}
Help Jarvis! | Lift queries |
Goki and his breakup | Ali and Helping innocent people |
Book of Potion making | Duration |
Birthday Party | e-maze-in |
Bricks Game | Char Sum |
Two Strings | Anagrams |
Prime Number | Lexical Sorting Reloaded |
1514A - Perfectly Imperfect Array | 580A- Kefa and First Steps |
1472B- Fair Division | 996A - Hit the Lottery |
MSNSADM1 Football | MATCHES Playing with Matches |
HRDSEQ Hard Sequence | DRCHEF Doctor Chef |
559. Maximum Depth of N-ary Tree | 821. Shortest Distance to a Character |
1441. Build an Array With Stack Operations | 1356. Sort Integers by The Number of 1 Bits |
922. Sort Array By Parity II | 344. Reverse String |
1047. Remove All Adjacent Duplicates In String | 977. Squares of a Sorted Array |